﻿using System;

namespace Tools.MAME
{
    ///-------------------------------------------------------------------------------------------------
    /// <summary> SQL constanst used in MAME game database. </summary>
    ///-------------------------------------------------------------------------------------------------
    public static class SqlConst
    {
#pragma warning disable 1591
        internal const int SCHEMA_ID = 3;

        public const String BUILD_TABLE = "build";
        internal const int BUILD_COLUMN_COUNT = 3;

        public const String GAME_TABLE = "game";
        internal const int GAMES_COLUMN_COUNT = 33;

        public const String BIOSSET_TABLE = "biosset";
        internal const int BIOSSET_COLUMN_COUNT = 4;

        public const String ROM_TABLE = "rom";
        internal const int ROMS_COLUMN_COUNT = 11;

        public const String DISK_TABLE = "disk";
        internal const int DISKS_COLUMN_COUNT = 9;

        public const String DEVICE_REF_TABLE = "deviceref";
        internal const int DEVICE_REFS_COLUMN_COUNT = 2;
        
        public const String SAMPLE_TABLE = "sample";
        internal const int SAMPLES_COLUMN_COUNT = 2;
        
        public const String CHIP_TABLE = "chip";
        internal const int CHIPS_COLUMN_COUNT = 5;
        
        public const String DISPLAY_TABLE = "display";
        internal const int DISPLAY_COLUMN_COUNT = 15;
        
        public const String CONTROL_TABLE = "control";
        internal const int CONTROLS_COLUMN_COUNT = 10;
        
        public const String DIP_TABLE = "dip";
        internal const int DIPS_COLUMN_COUNT = 4;
        
        public const String DIP_VALUE_TABLE = "dipvalue";
        internal const int DIP_VALUES_COLUMN_COUNT = 5;
        
        public const String PORT_TABLE = "port";
        internal const int PORTS_COLUMN_COUNT = 3;

        public const String ADJUSTER_TABLE = "adjuster";
        internal const int ADJUSTER_COLUMN_COUNT = 3;

        public const String DEVICE_TABLE = "device";
        internal const int DEVICES_COLUMN_COUNT = 7;

        public const String SOFTWARE_LIST_TABLE = "softwarelist";
        internal const int SOFTWARE_LISTS_COLUMN_COUNT = 4;

        public const String RAM_OPTION_TABLE = "ramoption";
        internal const int RAM_OPTIONS_COLUMN_COUNT = 3;

        public const String CONFIG_TABLE = "config";
        internal const int CONFIG_COLUMN_COUNT = 4;

        public const String CONFIG_SETTING_TABLE = "configsetting";
        internal const int CONFIG_SETTING_COLUMN_COUNT = 5;

        public const String SLOT_TABLE = "slot";
        internal const int SLOT_TABLE_COLUMN_COUNT = 5;

        public const String PARENT_TABLE = "parent";
        internal const int PARENT_TABLE_COLUMN_COUNT = 1;

        public const String CLONE_TABLE = "clone";
        internal const int CLONE_TABLE_COLUMN_COUNT = 2;        

        public const String BUILD_COL = "build";
        public const String DEBUG_COL = "debug";
        public const String MAMECONFIG_COL = "mameconfig";
        public const String GAME_NAME_COL = "gamename";
        public const String SOURCE_FILE_COL = "sourcefile";
        public const String IS_MECHANICAL_COL = "ismechanical";
        public const String CLONE_OF_COL = "cloneof";
        public const String ROM_OF_COL = "romof";
        public const String SAMPLE_OF_COL_ = "sampleof";
        public const String DESCRIPTION_COL = "description";
        public const String YEAR_COL = "year";
        public const String MANUFACTURER_COL = "manufacturer";
        public const String SOUND_CHANNELS_COL = "sound_channels";
        public const String INPUT_SERVICE_COL = "input_service";
        public const String INPUT_TILT_COL = "input_tilt";
        public const String INPUT_PLAYERS_COL = "input_players";
        public const String INPUT_BUTTONS_COL = "input_buttons";
        public const String INPUT_COINS_COL = "input_coins";        
        public const String DRIVER_STATUS_COL = "driver_status";
        public const String DRIVER_EMULATION_COL = "driver_emulation";
        public const String DRIVER_COLOR_COL = "driver_color";
        public const String DRIVER_SOUND_COL = "driver_sound";
        public const String DRIVER_GRAPHIC_COL = "driver_graphic";
        public const String DRIVER_COCKTAIL_COL = "driver_cocktail";
        public const String DRIVER_PROTECTION_COL = "driver_protection";
        public const String DRIVER_SAVESTATE_COL = "driver_savestate";
        public const String DRIVER_PALETTE_SIZE_COL = "driver_palettesize";
        public const String NAME_COL = "name";
        public const String SIZE_COL = "size";
        public const String CRC_COL = "crc";
        public const String SHA1_COL = "sha1";
        public const String REGION_COL = "region";
        public const String OFFSET_COL = "offset";
        public const String TYPE_COL = "type";
        public const String TAG_COL = "tag";
        public const String CLOCK_COL = "clock";
        public const String ROTATE_COL = "rotate";
        public const String FLIPX_COL = "flipx";
        public const String WIDTH_COL = "width";
        public const String HEIGHT_COL = "height";
        public const String REFERSH_COL = "refresh";
        public const String PIX_CLOCK_COL = "pixclock";
        public const String HTOTAL_COL = "htotal";
        public const String HBEND_COL = "hbend";
        public const String HBSTART_COL = "hbstart";
        public const String VTOTAL_COL = "vtotal";
        public const String VBEND_COL = "vbend";
        public const String VBSTART_COL = "vbstart";
        public const String MINIMUM_COL = "minimum";
        public const String MAXIMUM_COL = "maximum";
        public const String SENSITIVITY_COL = "sensitivity";
        public const String KEY_DELTA_COL = "keydelta";
        public const String REVERSE_COL = "reverse";
        public const String WAYS_COL = "ways";
        public const String WAYS2_COL = "ways2";
        public const String WAYS3_COL = "ways3";        
        public const String MASK_COL = "mask";
        public const String VALUE_COL = "value";
        public const String DEFAULT_COL = "default";
        public const String CATEGORY_COL = "category";
        public const String SUB_CATEGORY_COL = "subcategory";
        public const String IS_MATURE_COL = "ismature";
        public const String VERSION_ADDED_COL = "versionadded";
        public const String DIP_NAME_COL = "dipname";
        public const String INTERFACE_COL = "interface";
        public const String BRIEF_NAME_COL = "briefname";
        public const String EXTENSIONS_COL = "extensions";
        public const String IS_BIOS_COL = "isbios";
        public const String IS_DEVICE_COL = "isdevice";
        public const String RUNNABLE_COL = "runnable";
        public const String BIOS_COL = "bios";
        public const String MERGE_COL = "merge";
        public const String STATUS_COL = "status";
        public const String OPTIONAL_COL = "optional";
        public const String INDEX_COL = "index_";
        public const String WRITABLE_COL = "writable";
        public const String FILTER_COL = "filter";
        public const String CONFIG_NAME_COL = "configname";
        public const String OPTION_NAME_COL = "optionname";
        public const String DEV_NAME_COL = "devname";
        public const String PARENT_COL = "parent";
        public const String CHD_REQUIRED = "chdrequired";
#pragma warning restore 1591
    }
}
